#!/bin/sh

WIFI_CONF_FILE=/etc/settings.wifi_sta

MOD_WSS_NAME=wifi_ssid_switch
MOD_WSS_DIR=/opt/$MOD_WSS_NAME
MOD_WSS_REPORT_FILE=/var/wifi_sta/$MOD_WSS_NAME.report
MOD_WSS_TMPREP_FILE=/var/wifi_sta/$MOD_WSS_NAME.tmprep
MOD_WSS_CONF_FILE=$MOD_WSS_DIR/etc/settings
MOD_WSS_DAEMON=$MOD_WSS_NAME

[ -f $WIFI_CONF_FILE ] || exit 1
. $WIFI_CONF_FILE

[ -f $MOD_WSS_CONF_FILE ] || cp /opt/$MOD_WSS_NAME/etc/defaults $MOD_WSS_CONF_FILE 2>/dev/null
. $MOD_WSS_CONF_FILE

case "$1" in
  start)
    echo -n "Starting module $MOD_WSS_NAME: "
    if [ "$MOD_WSS_ENABLED" != "1" ]; then
      echo "skipped"
      exit 0
    fi
    $MOD_WSS_DIR/bin/$MOD_WSS_DAEMON &
    echo "done"
    exit 0;
    ;;
  stop)
    echo -n "Stopping module $MOD_WSS_NAME: "
    killall -q SIGTERM $MOD_WSS_DAEMON
    rm -rf $MOD_WSS_REPORT_FILE
    echo "done"
    exit 0
    ;;
  restart)
    $0 stop
    sleep 1
    $0 start
    ;;
  status)
    echo -n "Daemon            : "
    killall -0 $MOD_WSS_DAEMON 2>/dev/null
    RETVAL=$?
    if [ $RETVAL = 0 ]; then echo "running"; else echo "stopped"; fi
    if [ -f $MOD_WSS_REPORT_FILE ]; then
      cat $MOD_WSS_REPORT_FILE
    elif [ $RETVAL = 0 ]; then
      if [ -f $MOD_WSS_TMPREP_FILE ]; then
        echo -e "\nWi-Fi scanning is in progress";
      else
        echo -e "\nNo results currently available";
      fi
    fi
    exit 0
    ;;
  defaults)
    cp /opt/$MOD_WSS_NAME/etc/defaults $MOD_WSS_CONF_FILE 2>/dev/null
    ;;
  *)
    echo "Usage: $0 {start|stop|restart|status|defaults}"
    exit 1
esac
